home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / geomitri / rcd / onewayrl.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-06-10  |  10.7 KB  |  259 lines

  1. 2      ' This programme is used to design calculate  ONE WAY RIBBED SLAB LOADING
  2. 3      ' This programme uses  Advanced Basic Language  (IBM - BASICA )
  3. 4      ' This programme is saved under the name     [ ONEWAYRL ]
  4. 5      ' This programme is accessed only through the programme  RIBSLOAD
  5. 6      ' Prepared by   AMJAD J. SHAIR    12/1/1986 ,REWRITTEN  1/3/1987
  6. 10  SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0
  7. 15  CLEAR
  8. 20  OPEN "DATA1" FOR INPUT AS #1
  9. 25  IF EOF(1) THEN CLOSE :GOTO 40
  10. 30  INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA
  11. 35  GOTO 25
  12. 40  CLS :LOCATE 2
  13. 42  PRINT "            *****       ONE WAY RIBBED SLAB LOADING      *****"
  14. 44  PRINT "            ****************   WORKING MENU   ****************"
  15. 46  PRINT :PRINT
  16. 48  PRINT "               [ D ] - DISPLAY RIBS LOADING FROM FILES    "
  17. 50  PRINT "                        ( could modify & print also )     " :PRINT
  18. 52  PRINT "               [ C ] - CREATE NEW RIBS LOADING TYPES     "
  19. 54  PRINT "                       ( would replace a filed type )    " :PRINT
  20. 56  PRINT "               [ R ] - RETURN TO RIBS LOADING SYSTEMS MENU "
  21. 58  PRINT :PRINT
  22. 60  PRINT "            ENTER THE CHOSEN INITIAL SHOWN IN BRACKETS :";
  23. 64  RTC$=INKEY$ :IF RTC$<>"D" AND RTC$<>"d" AND RTC$<>"C" AND RTC$<>"c" AND RTC$<>"R" AND RTC$<>"r" THEN 64
  24. 66  IF RTC$="D" OR RTC$="d" GOTO 480
  25. 68  IF RTC$="C" OR RTC$="c" GOTO 80
  26. 70  IF RTC$="R" OR RTC$="r" THEN CHAIN "RIBSLOAD",10
  27. 80  '--------------------------------------------- ENTER DATA TO CREATE NEW TYPE
  28. 85  CLS :LOCATE 2
  29. 90  PRINT "            *****       ONE WAY RIBBED SLAB LOADING      *****"
  30. 92  PRINT "            *****                                        *****"
  31. 95  PRINT "            *****       CREATE NEW RIB LOADING TYPE      *****"
  32. 100  PRINT :PRINT
  33. 110  INPUT "  ENTER  RIB  TYPE  NUMBER      ( 1-3 )       TYPE :",TNR
  34. 120  PRINT :IF TNR<=0 OR TNR>3 GOTO 110
  35. 130  INPUT "  ENTER  Width of Rib                        b    (cm)     ",BR
  36. 140  PRINT
  37. 150  IF BR>0 GOTO 200
  38. 160  LOCATE ,6 :COLOR ,4 :BEEP
  39. 170  INPUT "  ***  YOU CAN'T HAVE A RIB WITH ZERO WIDTH   *  RE-ENTER  ***  ",BR
  40. 180  COLOR ,1:PRINT
  41. 190  IF BR<=0 GOTO 1660
  42. 200  INPUT "  ENTER  Total heigh of Rib                  h    (cm)     ",HR
  43. 210  PRINT
  44. 220  IF HR>0 GOTO 270
  45. 230  LOCATE ,6 :COLOR ,4 :BEEP
  46. 240  INPUT "  ***  YOU CAN'T HAVE A RIB WITH ZERO HEIGHT  *  RE-ENTER  ***  ",HR
  47. 250  COLOR ,1:PRINT
  48. 260  IF HR<=0 GOTO 1660
  49. 270  INPUT "  ENTER  Total heigh of block                hb   (cm)     ",HB
  50. 280  PRINT
  51. 290  IF HB>0 GOTO 340
  52. 300  LOCATE ,6 :COLOR ,4 :BEEP
  53. 310  INPUT "  ***  YOU CAN'T HAVE A BLOCK WITH ZERO HEIGHT * RE-ENTER  ***  ",HB
  54. 320  COLOR ,1:PRINT
  55. 330  IF HB<=0 GOTO 1660
  56. 340  IF HB<HR GOTO 380
  57. 350  LOCATE ,6 :COLOR ,4 :BEEP
  58. 360  INPUT "  ***  YOU CAN'T HAVE A BLOCK THICKER THAN RIB * RE-ENTER  ***  ",HB
  59. 370  COLOR ,1:PRINT :GOTO 340
  60. 380  INPUT "  ENTER  Total thickness of Tiling           tt   (cm)     ",TT
  61. 390  PRINT
  62. 400  IF TT>0 GOTO 450
  63. 410  LOCATE ,6 :COLOR ,4 :BEEP
  64. 420  INPUT "  ***  YOU CAN'T HAVE TILING WITH ZERO THICK.  * RE-ENTER  ***  ",HB
  65. 430  COLOR ,1:PRINT
  66. 440  IF TT<=0 GOTO 1660
  67. 450  INPUT "  ENTER  Average Partition Load              pw   (kg/m2)  ",PW
  68. 452  PRINT
  69. 454  INPUT "  ENTER  Average  Live Load                  LL   (kg/m2)  ",LL
  70. 456  PRINT
  71. 458  IF LL>0 GOTO 550
  72. 460  LOCATE ,6 :COLOR ,4 :BEEP
  73. 462  INPUT "  ***  YOU CAN'T DESIGN FOR ZERO LIVE LOAD    *  RE-ENTER  ***  ",LL
  74. 464  COLOR ,1:PRINT
  75. 466  IF LL<=0 GOTO 1660
  76. 480  '---------------------------------------------------- ENTER DATA FROM FILES
  77. 482  CLS :LOCATE 2
  78. 484  PRINT "            *****       ONE WAY RIBBED SLAB LOADING       *****"
  79. 486  PRINT "            *****                                         *****"
  80. 488  PRINT "            *****     DISPLAY RIBS LOADING FROM FILES     *****"
  81. 490  PRINT :PRINT
  82. 492  INPUT "  ENTER  RIB  TYPE  NUMBER      ( 1-3 )       TYPE :",TNR
  83. 494  PRINT :IF TNR<=0 OR TNR>3 GOTO 492
  84. 496  ON TNR GOTO 500,510,520
  85. 500  OPEN "OWRL1" FOR INPUT AS #1
  86. 502  IF EOF(1) THEN CLOSE :GOTO 550
  87. 504  INPUT #1,BR,HR,HB,TT,PW,LL,WU
  88. 506  GOTO 502
  89. 510  OPEN "OWRL2" FOR INPUT AS #1
  90. 512  IF EOF(1) THEN CLOSE :GOTO 550
  91. 514  INPUT #1,BR,HR,HB,TT,PW,LL,WU
  92. 516  GOTO 512
  93. 520  OPEN "OWRL3" FOR INPUT AS #1
  94. 522  IF EOF(1) THEN CLOSE :GOTO 550
  95. 524  INPUT #1,BR,HR,HB,TT,PW,LL,WU
  96. 526  GOTO 522
  97. 540  '-------------------------------------------------------Calculation of load
  98. 550  BW=CINT(950*HB*40*20/1E+06)      'Weight of one Block  kg
  99. 560  R=CINT(BR*HB*0.25)                   'Load of Rib          kg/m/rib
  100. 570  S=CINT((HR-HB)*(BR+40)*0.25)         'Load of Slab         kg/m/rib
  101. 580  B=CINT(BW*5)                        'Load of Block        kg/m/rib
  102. 590  T=CINT(TT*(BR+40)*0.19)              'Load of Tiles        kg/m/rib
  103. 600  P=CINT(PW*(BR+40)/100)              'Load of Partitions   kg/m/rib
  104. 610  WL=CINT(LL*(BR+40)/100)             'Live Load            kg/m/rib
  105. 620  WD=R+S+B+T+P                        'Total Dead Load      kg/m/rib
  106. 630  WW=WD+WL                            'Total Working Load   kg/m/rib
  107. 640  WU=CINT(1.4*WD+1.7*WL)              'Total Ultimate Load  kg/m/rib
  108. 650  '------------------------------------------------ Display of Data & Results
  109. 660  CLS :LOCATE 2,8
  110. 670  PRINT "*****      ONE WAY RIBBED SLAB LOADING    *   TYPE"TNR " *****"
  111. 680  PRINT
  112. 690  GOSUB 1800
  113. 700  PRINT "   DATA :     - Width of Rib  ............  b  = "BR" cm"
  114. 710  PRINT "              - Height of Rib  ...........  h  = "HR" cm"
  115. 720  PRINT "              - Height of Block  .........  hb = "HB" cm"
  116. 730  PRINT "              - Thickness of Tiles  ......  tt = "TT" cm"
  117. 740  PRINT "              - Average Partition Load  ..  pw = "PW" kg/m2"
  118. 750  PRINT "              - Average Live Load  .......  LL = "LL" kg/m2"
  119. 760  PRINT
  120. 770  PRINT "   LOADING :  Dead Load  WD ="WD" kg/m/rib  *  Live Load  WL ="WL" kg/m/rib"
  121. 780  PRINT "              Total Working  Load =       WD + WL       = "WW" kg/m/rib"
  122. 790  PRINT "              Total Ultimate Load = 1.4 * WD + 1.7 * WL = "WU" kg/m/rib"
  123. 800  '------------------------------------------- Changing any of the given Data
  124. 810  PRINT
  125. 820  PRINT "     ***   DO YOU WANT TO CHANGE ANY OF THE ABOVE DATA   (Y/N) ?  ***";
  126. 830  Y$=INKEY$ :IF Y$="" THEN 830
  127. 840  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 870
  128. 850  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 1080
  129. 860  GOTO 820
  130. 870  PRINT
  131. 880  INPUT "           ENTER THE SYMBOL OF THE DATA YOU WANT TO CHANGE  :        ",DT$
  132. 885  PRINT
  133. 890  IF DT$ <>"B" AND DT$<>"b" GOTO 920
  134. 900  INPUT "           ENTER  Width of Rib                   b    (cm)     ",BR
  135. 910  GOTO 540
  136. 920  IF DT$ <>"H" AND DT$<>"h" GOTO 950
  137. 930  INPUT "           ENTER  Total heigh of Rib             h    (cm)     ",HR
  138. 940  GOTO 540
  139. 950  IF DT$ <>"HB" AND DT$<>"hb" GOTO 980
  140. 960  INPUT "           ENTER  Total heigh of block           hb   (cm)     ",HB
  141. 970  GOTO 540
  142. 980  IF DT$ <>"TT" AND DT$<>"tt" GOTO 1010
  143. 990  INPUT "           ENTER  Total thickness of Tiling      tt   (cm)     ",TT
  144. 1000  GOTO 540
  145. 1010  IF DT$ <>"PW" AND DT$<>"pw" GOTO 1040
  146. 1020  INPUT "           ENTER  Average Partition Load         pw   (kg/m2)  ",PW
  147. 1030  GOTO 540
  148. 1040  IF DT$ <>"LL" AND DT$<>"ll" GOTO 1070
  149. 1050  INPUT "           ENTER  Average  Live Load             LL   (kg/m2)  ",LL
  150. 1060  GOTO 540
  151. 1070  PRINT
  152. 1080  ON TNR GOTO 1090,1110,1130
  153. 1090  OPEN "OWRL1" FOR OUTPUT AS #1
  154. 1100  WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
  155. 1110  OPEN "OWRL2" FOR OUTPUT AS #1
  156. 1120  WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
  157. 1130  OPEN "OWRL3" FOR OUTPUT AS #1
  158. 1140  WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
  159. 1150  PRINT
  160. 1160  '------------------------------------------------- Printing Data & Results
  161. 1170  PRINT "     ***   DO YOU WANT THIS RIB LOADING TO BE PRINTED    (Y/N) ?  ***";
  162. 1180  Y$=INKEY$ :IF Y$="" THEN 1180
  163. 1190  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 1220
  164. 1200  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 1710
  165. 1210  GOTO 1170
  166. 1220  H$=STRING$(79,61)
  167. 1222  LPRINT
  168. 1225  LPRINT CHR$(14)"Arabian Consulting Engineering Services"
  169. 1230  LPRINT "P. O. Box  146                                           Riyadh - Saudi Arabia"
  170. 1235  LPRINT H$
  171. 1240  LPRINT CHR$(14)" PROJECT: "PRJ$
  172. 1245  LPRINT
  173. 1250  LPRINT "  BUILDING    : "BLD$ TAB(58)"PAGE No.:"
  174. 1255  LPRINT "  DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE    : "DATE$
  175. 1260  LPRINT :LPRINT H$
  176. 1265  LPRINT "  RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan"
  177. 1270  LPRINT "  THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services  K.S.A"
  178. 1275  LPRINT H$
  179. 1280  LPRINT CHR$(14) " ONE WAY RIBBED SLAB LOADING " TAB(33)"TYPE"TNR
  180. 1290  LPRINT H$ :LPRINT
  181. 1300  GOSUB 1930
  182. 1310  LPRINT CHR$(27)"G"
  183. 1320  LPRINT "  **  DATA  **  "
  184. 1330  LPRINT CHR$(27)"H";"  ------------  "
  185. 1340  LPRINT "       - Width of Rib  ............  b  = "BR" cm"
  186. 1350  LPRINT "       - Height of Rib  ...........  h  = "HR" cm"
  187. 1360  LPRINT "       - Height of Block  .........  hb = "HB" cm"
  188. 1370  LPRINT "       - Thickness of Tiles  ......  tt = "TT" cm"
  189. 1380  LPRINT "       - Average Partition Load  ..  pw = "PW" kg/m2"
  190. 1390  LPRINT "       - Average Live Load  .......  LL = "LL" kg/m2"
  191. 1400  LPRINT :LPRINT H$
  192. 1410  LPRINT CHR$(27)"G"
  193. 1420  LPRINT "  **  RIB LOADING  **  "
  194. 1430  LPRINT CHR$(27)"H";"  -------------------  "
  195. 1440  LPRINT CHR$(27)"G"
  196. 1450  LPRINT "  **   DEAD LOAD   **  "
  197. 1460  LPRINT CHR$(27)"H"
  198. 1470  LPRINT "       Weight of Rib       ="BR" X"HB" X 0.250" TAB(48) "="R"  kg/m/rib"
  199. 1480  LPRINT "       Weight of Slab      ="HR-HB" X"BR+40" X 0.250" TAB(48)"="S"  kg/m/rib"
  200. 1490  LPRINT "       Weight of Block     ="BW" X 5" TAB(48)"="B"  kg/m/rib"
  201. 1500  LPRINT "       Weight of Tiling    ="TT" X"BR+40" X 0.190" TAB(48)"="T" kg/m/rib"
  202. 1510  IF P <=0 GOTO 1530
  203. 1520  LPRINT "       Weight of Partition ="PW" X"BR+40" /100" TAB(48)"="P"  kg/m/rib"
  204. 1530  LPRINT
  205. 1540  LPRINT TAB(25)"TOTAL  DEAD LOAD    WD ="WD" kg/m/rib"
  206. 1550  LPRINT CHR$(27)"G"
  207. 1560  LPRINT "  **   LIVE LOAD   **  "
  208. 1570  LPRINT CHR$(27)"H"
  209. 1580  LPRINT TAB(12)"LIVE LOAD    WL  ="LL" X"BR+40" / 100 ="WL" kg/m/rib"
  210. 1590  LPRINT :LPRINT CHR$(27)"G"
  211. 1600  LPRINT "             TOTAL WORKING LOAD =              WD + WL ="WW" kg/m/rib"
  212. 1610  LPRINT
  213. 1620  LPRINT "             TOTAL ULTIMATE LOAD = 1.4 X WD + 1.7 X WL ="WU" kg/m/rib
  214. 1630  LPRINT CHR$(27)"H"
  215. 1640  LPRINT H$
  216. 1650  LPRINT CHR$(12) :GOTO 1710
  217. 1660  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  218. 1670  PRINT "  ***  YOU WERE GIVEN TWO CHANCES TO ENTER BUT YOU FAILED  ***  "
  219. 1680  PRINT :COLOR ,4:LOCATE ,6
  220. 1690  PRINT "  ***  ENTER  Y  TO REDO OR TO GO FOR OTHER LOADING TYPES  ***  "
  221. 1700  COLOR ,1
  222. 1710  PRINT
  223. 1720  '------------------------------------- Repeat for other Ribs Loading Types
  224. 1730  PRINT "   press  SPACE BAR to return to return to ONE WAY RIBBED SLAB WORKING MENU  ";
  225. 1740  Y$=INKEY$ :IF Y$<>" " THEN 1740
  226. 1750  GOTO 15
  227. 1780  END '---------------------------------------------------------------------
  228. 1790  '*************************  SUBROUTINES  *********************************
  229. 1800  '------------------------------------- Subroutine to display the rib shape
  230. 1810  C$=STRING$(35,196) :N$=STRING$(5,196) :O$=STRING$(15,196) :Q$=CHR$(193)
  231. 1820  D$=CHR$(179) :E$=CHR$(194) :F$=CHR$(195) :G$=CHR$(180) :M$=CHR$(196)       :Q$=CHR$(193) :Z$=STRING$(3,196)
  232. 1830  PRINT TAB(12) E$ SPC(4) E$ SPC(4) F$;C$;G$
  233. 1840  PRINT TAB(12) D$"  tf"CHR$(197) SPC(4) F$;N$;CHR$(191) SPC(3) CHR$(218);O$;CHR$(191) SPC(3) CHR$(218);N$;G$
  234. 1850  PRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  235. 1860  PRINT TAB(12) "h" SPC(3) "hb" SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  236. 1870  PRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  237. 1880  PRINT TAB(12) Q$ SPC(4) Q$ SPC(4) F$;N$;Q$;Z$;Q$;O$;Q$;Z$;Q$;N$;G$
  238. 1890  PRINT
  239. 1900  PRINT TAB(28) F$" b "CHR$(197);Z$"  40 cm  "Z$;CHR$(197)" b "G$
  240. 1910  PRINT
  241. 1920  RETURN
  242. 1930  '--------------------------------------- Subroutine to print the rib shape
  243. 1940  C$=STRING$(35,45) :N$=STRING$(5,45) :O$=STRING$(15,45) :Z$=STRING$(3,45)
  244. 1950  D$=CHR$(124) :A$=CHR$(43)
  245. 1960  LPRINT CHR$(27)"1"
  246. 1970  LPRINT TAB(12) A$ SPC(4) A$ SPC(4) D$;C$;D$
  247. 1980  LPRINT TAB(12) D$"   tf" SPC(4) D$ SPC(35) D$
  248. 1990  LPRINT TAB(12) D$ SPC(4) A$ SPC(4) D$;N$;A$ SPC(3) A$;O$;A$ SPC(3) A$;N$;D$
  249. 2000  LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  250. 2010  LPRINT TAB(22) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  251. 2020  LPRINT TAB(12) "h" SPC(3) "hb" SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  252. 2030  LPRINT TAB(22) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  253. 2040  LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  254. 2050  LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
  255. 2060  LPRINT TAB(12) A$ SPC(4) A$ SPC(4) D$;C$;D$
  256. 2070  LPRINT CHR$(27)"2"
  257. 2080  LPRINT TAB(28) A$" b "A$;Z$"  40 cm  "Z$;A$" b "A$
  258. 2090  RETURN
  259.